/*
 * Copyright (c) 2017. 深圳一七网络科技. All rights reserved.
 */

package com.fenxiangle.yueding.feature.mine.contract;

import com.fenxiangle.yueding.entity.bo.FoucsBo;
import com.fenxiangle.yueding.entity.bo.LoginPram;
import com.fenxiangle.yueding.entity.bo.UserCenterBo;
import com.suozhang.framework.entity.bo.UserInfoBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;

import org.json.JSONObject;

import java.io.File;
import java.util.List;
import java.util.Map;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2017/4/11 9:06
 */
public interface MineContract {

    interface Model {
        Observable<String> uploadUserHead(String headUrl);

        Observable<UserCenterBo> getUserData();

        Observable<UserCenterBo> getOtherUserData(FoucsBo foucsBo);

        Observable<String> upload_user_video(File files, Map<String,String> stringStringMap);


        Observable<String> attentionFollow(FoucsBo homeFilterBo);

        Observable<String> attentionUnFollow(FoucsBo homeFilterBo);

    }

    interface View extends BaseView {
        void showUserDataSuccess(UserCenterBo s);

        void showUploadHeadSuccess(String url);

        void showFollowSuccess();

        void showUnFollowSuccess();

        void showError(String error);//显示错误消息

    }


    interface Presenter extends BasePresenter {//

        void uploadUserHead(String userHead);

        void getUserData();
        void getOtherUserData(String userId);

        void  attentionFollow(String attentionUserUid);
        void  attentionUnFollow(String attentionUserUid);
        void upload_user_video(File files, Map<String,String> stringStringMap);

    }
}
